package com.iap.admin.context
{
	import com.iap.admin.command.ImageCommand;
	import com.iap.admin.command.TagCommand;
	import com.iap.common.command.VectorCommand;
	import com.iap.admin.command.VectorTagCommand;
	import com.iap.admin.mediator.VectorEditMediator;
	import com.iap.admin.mediator.VectorImageManagerControlMediator;
	import com.iap.admin.service.IImageService;
	import com.iap.admin.service.ITagService;
	import com.iap.common.service.IVectorService;
	import com.iap.admin.service.IVectorTagService;
	import com.iap.admin.service.ImageService;
	import com.iap.admin.service.TagService;
	import com.iap.common.service.VectorService;
	import com.iap.admin.service.VectorTagService;
	import com.iap.admin.signal.ImageRequestSignal;
	import com.iap.common.signal.TagRequestSignal;
	import com.iap.admin.signal.VectorRequestSignal;
	import com.iap.admin.signal.VectorTagRequestSignal;
	import com.iap.admin.view.vector.VectorEditView;
	import com.iap.admin.view.vector.VectorImageManagerControl;
	import com.iap.app.data.AppData;
	import com.iap.app.data.IAppData;
	
	import flash.display.DisplayObjectContainer;
	
	import org.robotlegs.mvcs.SignalContext;
	
	public class VectorEditContext extends SignalContext
	{
		override public function startup():void
		{
			injector.mapSingletonOf(IAppData, AppData);
			injector.mapSingletonOf(IVectorService, VectorService);
			injector.mapSingletonOf(IImageService, ImageService);
			injector.mapSingletonOf(ITagService, TagService);
			injector.mapSingletonOf(IVectorTagService, VectorTagService);
			
			signalCommandMap.mapSignalClass(VectorRequestSignal, VectorCommand);
			signalCommandMap.mapSignalClass(ImageRequestSignal, ImageCommand);
			signalCommandMap.mapSignalClass(TagRequestSignal, TagCommand);
			signalCommandMap.mapSignalClass(VectorTagRequestSignal, VectorTagCommand);
			
			mediatorMap.mapView(VectorEditView, VectorEditMediator);
			mediatorMap.mapView(VectorImageManagerControl, VectorImageManagerControlMediator);
		}
	}
}